/*
 * Copyright (C) 2012 POAS.VSTU
 */

package model;

import java.util.ArrayList;
import java.util.EventObject;

/** Игровое событие. */
public class GameEvent extends EventObject {

    /// Источник, стопка из которой перемещаются карты
    private CardPile mSrc;

    /// Приемник, стопка в которую перемещаются карты
    private CardPile mDest;

    /// Перемещаемые карты
    private ArrayList<Card> mCards;

    /**
     * Конструктор по-умолчанию.
     * @param source объект-источник события
     */
    public GameEvent (Object source) {
        super(source);
    }

    /**
     * Конструктор события.
     * @param source объект-источник события
     * @param from стопка, из которой перемащаются карты
     * @param to стопка в которую перемещаются карты
     * @param cards перемещаемые карты
     */
    public GameEvent (Object source, CardPile from, CardPile to, ArrayList<Card> cards) {
        this(source);
        mSrc = from;
        mDest = to;
        mCards = cards;
    }

    /// Источник, стопка из которой перемещаются карты
    public CardPile getSrcPile() {
        return mSrc;
    }

    /// Приемник, стопка в которую перемещаются карты
    public CardPile getDestPile() {
        return mDest;
    }

    /// Перемещаемые карты
    public ArrayList<Card> getCards() {
        return mCards;
    }
}
